package Day05;

/**
 * @author SunYuHang
 * @date 2023-01-08 20:07
 * @ClassName : 寻找重复数  //类名
 */

public class 寻找重复数 {
    public int findDuplicate(int[] nums) {
//        for (int i = 0; i < nums.length; i++) {
//            for (int j = i; j <nums.length; j++) {
//                if (nums[i]==nums[j]){
//                    return nums[i];
//                }
//            }
//        }
//        return 0;
        int slow = 0;
        int fast = 0;
        slow = nums[slow];
        fast = nums[nums[fast]];
        while(slow != fast){
            slow = nums[slow];
            fast = nums[nums[fast]];
        }
        int pre1 = 0;
        int pre2 = slow;
        while(pre1 != pre2){
            pre1 = nums[pre1];
            pre2 = nums[pre2];
        }
        return pre1;
    }

}
